From e6bb78f26db7cc954a7bc53f8a31ad2b9519f0c1 Mon Sep 17 00:00:00 2001 From: "djm@kirby.fc.hp.com" Date: Thu, 3 Nov 2005 07:14:09 -0600 Subject: [PATCH] Fix ar.unat save/restore for fast rfi (by Anthony Xu) --- xen/arch/ia64/xen/hyperprivop.S | 2 ++ 1 file changed, 2 insertions(+) diff --git a/xen/arch/ia64/xen/hyperprivop.S b/xen/arch/ia64/xen/hyperprivop.S index b65a5075be..a048850a3b 100644 --- a/xen/arch/ia64/xen/hyperprivop.S +++ b/xen/arch/ia64/xen/hyperprivop.S @@ -807,6 +807,7 @@ just_do_rfi: // OK, now all set to go except for switch to virtual bank1 mov r22=1;; st4 [r20]=r22; mov r30=r2; mov r29=r3;; + mov r17=ar.unat;; adds r16=XSI_B1NATS_OFS-XSI_PSR_IC_OFS,r18 adds r2=XSI_BANK1_OFS-XSI_PSR_IC_OFS,r18; adds r3=(XSI_BANK1_OFS+8)-XSI_PSR_IC_OFS,r18;; @@ -832,6 +833,7 @@ just_do_rfi: .mem.offset 8,0; ld8.fill r30=[r2],16 ; .mem.offset 8,0; ld8.fill r31=[r3],16 ;; bsw.0 ;; + mov ar.unat=r17;; mov r2=r30; mov r3=r29;; 1: mov pr=r31,-1 ;; -- 2.30.2